package day0116;

import javax.imageio.ImageIO;
import javax.swing.*;//引入javax包中的swing子包中所有的类。
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.IOException;

//2.自己的类TestGame  继承extends 纸JPanel
public class TestGame extends  JPanel{
    public static  final  int WIDTH=420;
    public static  final  int HEIGHT=700;

    static BufferedImage bg=null;
    TestGame(){
        super();
        //bg=用ImgeIO的read(图片的路径url);
        //bg= ImageIO.read( 使用TestGame类来获取图片路径 );
        try {
            //读取一个图片对象(利用当前类获取图片路径)存入到bg变量中
            bg= ImageIO.read( TestGame.class.getResource("bg.png") );
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }


    //3.在面板类中用paint()扩展内容//在纸(JPanel<java语言提供的类>)绘制图形
    public void paint(Graphics g) {//Graphics g画笔
        //g.drawOval(0,0,100,50);//TestGame中的构造方法，会调用JPanel的构造方法，会调用一些代码，然后间接的调用paint方法()
        g.drawString("score:0", 20, 20);// 在JPanel类中某些代码会调用paint()
        //g.drawRoundRect(300,300,100,50,40,10);// 在JPanel类中某些代码会调用paint()
        g.drawImage(bg,0,0,null);
    }


    public static void main(String[] args) {
        JFrame win=new JFrame();//1.桌子  - 窗口 JFrame(java语言提供的类)

        TestGame pane=new TestGame();
        //4.窗口中添加面板
        win.add(pane);

        win.setSize(WIDTH, HEIGHT);
        win.setVisible(true);//用win对象调用JFrame类中的setVisible(true表示可见)
    }
}
